As data communication systems continue to evolve, the bandwidth capabilities of such communication systems continue to increase. As such, applications that require large amounts of bandwidth become increasingly feasible. One such application is the distribution of digital media services. Digital media services can provide video information such as television programs or movies, audio programs, and text based information streams.
Typically, the various types of digital media that may be provided are sourced from one or more information sources. These information sources are intended to provide the multimedia programming to a large number of users that have access to the information via one or more communication networks. Destination routers coupled to the communication network provide interfaces to end users, or subscribers.
Typically, multiple subscribers are coupled to a single communication link that is coupled to the router. This communication link is utilized for distribution of the program data streams, or channels, to the end users. The Internet Group Management Protocol (IGMP) has been developed by the Internet Engineering Task Force (IETF) as a standard that relates to the communication between the router and the subscriber, which is often referred to as a host. The communication between the router and the set of hosts coupled to a particular communication link is accomplished using point-to-multipoint multicast transmissions. IETF specifications RFC1112 “Host Extensions for IP Multicasting” and RFC2236 “Internet Group Management Protocol, Version 2” describe the use of the current IGMP standard in detail. (A table of acronyms as used herein can be found at the end of the specification.)
The IGMP protocol as currently defined by the IETF dictates how the multicast transmissions between the router and host are managed. Each of the hosts coupled to a router determines which of the potential multicast transmission groups, or channels, that it receives. When the communication link between the router and a plurality of hosts is shared by the plurality of hosts, bandwidth limitations on the communication link can require intelligent management of the multicast transmission provided via the communication link. For example, if a number of users reside on a single communication link and the bandwidth limitations only allow for a limited number of multicast transmissions to be supported over the communication link, usage of the particular multicast transmissions by the plurality of hosts must be monitored to ensure that bandwidth is not wasted on multicast transmissions which none of the hosts are actively receiving or using.
Thus, the invention relates to the problem of efficiently addressing channel changing operations performed by an end user system in which a Group Leave message for one multicast group is immediately followed by a Group Join message for another multicast group. It is important to perform this operation efficiently when the link from the end user systems to a network node providing connections to multicast channels is bandwidth limited, because the Group Join function cannot be completed until bandwidth is made available by processing the Group Leave request.
In conventional IGMP implementations, when a network node (e.g. ATM DSLAM) receives a Group Leave message for a multicast group, it immediately sends, to all end users systems connected to it, a Group Specific Query (GSQ) message pertaining to that group. The node then starts a timer, and if no reply to the GSQ message is received from any of the end users, the node processes the Leave request. That is, the node removes the connection to the channel that was being multicasted to the group, thereby making available bandwidth that was being used by the connection. In the case where an end user is changing channels and the link from the network node to the end user system is bandwidth limited, as previously described, the end user system will not be connected to the new channel until the timer expires. Although configurable, the timer is typically set to expire after 2 seconds; however, this is an unacceptable period time to wait for a channel changing operation to complete. A problem with this prior art solution of waiting until a timer expires (with no responses to the GSQ message received), before the executing the Leave and Join requests, is that it takes too long to complete a channel changing operation when the link is bandwidth limited.
U.S. application Ser. No. 09/469,034 filed Dec. 21, 1999 entitled “Method and Apparatus for an Improved Internet Group Management Protocol” (now U.S. Pat. No. 6,826,612)(owned by the assignee hereof and incorporated herein by reference) also addresses, inter alia, the problem of channel changing under bandwidth limited conditions. In this case, a host in a multicast group sends a Join message immediately after sending a Leave message and the time interval allowed for other hosts in the group to respond to a GSQ message sent responsive to the Leave request has not yet expired. The solution disclosed in the application is to first determine if there is enough bandwidth available to complete the Join operation. If there is not enough bandwidth, an Expedited Leave is performed in which one or more multicast groups pending termination are selected for immediately termination to provide enough bandwidth for the Join operation. There is a problem with this solution if Video on Demand (VoD) is also being provided from the same network node over the same link. In this case, the IGMP process running on the node will not be able to correctly determine the amount of bandwidth available for IP multicasting since it will not have information about the bandwidth used for the VoD service. Therefore, in this scenario, this solution would fail to identify the existence of a bandwidth limitation, and consequently it would not initiate an Expedited Leave action as it should. Instead, a standard Leave action would be initiated, which would result in an unnecessary delay (of approximately 2 seconds) in the execution of the end-user's channel changing request.
U.S. application Ser. No. 10/071,321, filed Feb. 8, 2002) entitled “Facilitating Multicast Group Switches Via a Single Internet Group management Protocol Message” (now abandoned) (owned by the assignee hereof and incorporated herein by reference) also addresses, inter alia, the problem of efficiently implementing the operation of channel changing. This patent application discloses a new IGMP switch message that combines the functionality of one or more pairs of Group Leave Join messages, thereby requiring less signalling bandwidth than separate messages would require. This combination of messages into a single message also reduces the amount of processing that may otherwise be required to perform the group switch. However, it also requires that systems be capable of interpreting the new switch message, which is not part of conventional IGMP implementations. Furthermore, the switch message does not eliminate the need to confirm that other end-user systems are not listening to a multicast group before its connection at a network node is removed. Therefore, the time taken to execute a channel change operation is not reduced by the switch message. This solution does not reduce the time required to complete a channel changing operation under bandwidth limited conditions on the link, as previously described, and therefore it does not provide acceptable channel changing functionality under such conditions. Also, the end-user systems must be able to interpret and respond to the new IGMP switch message, which could be problematic since this functionality is an enhancement to the standard IGMP protocol.
In view of the problems with the above-identified solutions an improved technique of providing channel changing functionality under bandwidth limited conditions is needed.